﻿using YourLastOptionsDialog.Core.Attributes;

namespace YourLastOptionsDialog
{
    /// <summary>
    /// A configuration data container that can be used to parameterize details of the <see cref="OptionsService"/>,
    /// for example for localization scenarios or customization.
    /// </summary>
    public class OptionsConfiguration
    {
        /// <summary>
        /// Gets or sets the page title used for the options page.
        /// The default is "OPTIONS".
        /// </summary>
        public string PageTitle
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the default group name that is used for properties that are not decorated with an <see cref="OptionAttribute"/>.
        /// The default is "general".
        /// </summary>
        public string DefaultGroupName
        {
            get;
            set;
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="OptionsConfiguration"/> class using the default values.
        /// </summary>
        public OptionsConfiguration()
        {
            PageTitle = "OPTIONS";
            DefaultGroupName = "general";
        }
    }
}